A sequential media device, such as a CD-ROM, when interfaced to a separately clocked receiving device for readout, presents a potential problem in the synchronizing of the data transfer between the devices. The problem arises because the sequential device is outputting continuous information at its own nominal speed, while the receiving device is independently running at its own speed. Thus, there can arise buffer overflow or buffer empty conditions between the devices. For short term readouts, the standard solution is to make the buffer between the devices elastic. The elastic buffer can feasibly be made large enough to absorb slight differences in the clock rates of the sequential device and the receiving device. This is the technique disclosed in U.S. Pat. No. 4,791,622, OPTICAL DATA FORMAT EMPLOYING RESYNCHRONIZABLE DATA SECTORS, issued to Clay et al on Dec. 13, 1988, and U.S. Pat. No. 4,841,513, SEQUENTIAL BUFFER DEVICE, issued to Farhangi et al on Jun. 20, 1989. As the continuous time interval of the readout increases, such as might be the case in multimedia presentations, the required size of the elastic buffer becomes prohibitive. If the buffer empties or fills during playback because of the differences in the device clocks, the presentation will be marred, either by delays or by the loss of information. This manifests itself as intolerable distortion in presentations involving audio or video information.
It is possible to use other conventional solutions, such as phase-locked loops or servos that synchronize the clock rate of the sequential device to the read commands of the receiving device. However, such solutions are complex and expensive, especially when it is considered that the external receiving device may be a PC or like device requesting information in sectors and at less than precisely periodic intervals.
U.S. Pat. No. 4,802,152, which issued to Markvoort et al on Jan. 31, 1989, shows another conventional interface in which the sequential device provides a clock to a host controller to synchronize the data output with the host. However, this solution is not possible or desirable in all environments.
The present trend for attaching a sequential device, such as a CD-ROM, to a computer is through the Small Computer System Interface (SCSI). This interface allows the computer or host to request data from the CD-ROM in a manner similar to that used by "floppy" and "hard" disk drives. The CD-ROM differs, however, from disk drives in that its very high density of data storage does not allow it to have high speed random access of its data. The CD-ROM takes hundreds of milliseconds to "seek" to a particular sector or data. While the SCSI interface can be used to position a CD-ROM at the beginning of a continuous playback segment, the SCSI interface does not provide a means therefore for the CD-ROM and receiver to remain synchronized.
In the case of interfacing a CD-ROM to host computer or PC, the host audio/visual output functions have no direct way to share a clock with the CD-ROM. The CD-ROM, in its present embodiments, can be requested to output data for many minutes while the host is routing the data to a speaker and display. The CD-ROM data rate is defined by its clock, while the host runs at its independent clock rate. These rates will not be precisely the same and over the period of the presentation the CD-ROM may output too much data or not enough. This then is a specific illustration of the general problem summarized above.